home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs08.d81 / unscr81.prg (.txt) < prev    next >
Commodore BASIC  |  2009-10-10  |  2KB  |  58 lines

  1. 10 POKE53280,0:POKE53281,0
  2. 20 PRINT"[147]UNSCRATCH FILE"
  3. 30 PRINT"[159]COPYRIGHT (C) 1987 BY JIM DREW"
  4. 40 IFQP>0THENGOTO80
  5. 50 PRINT"[159]INSERT DISK TO BE CHECKED INTO DRIVE"
  6. 60 PRINT"AND PRESS [RETURN]"
  7. 70 GETX$:IFX$<>CHR$(13)THEN70
  8. 80 PRINT"[159]FILE TO UNSCRATCH? (* FOR WILD CARD)"
  9. 90 INPUTN$:IFN$=""THENEND
  10. 100 Q=32:F=256:T=40:S=3:W=0
  11. 110 Z$=CHR$(0):D$=RIGHT$(STR$(D),1)
  12. 120 N$=LEFT$(N$,16):L=LEN(N$)
  13. 130 IFRIGHT$(N$,1)<>"*"THEN150
  14. 140 L=L-1:N$=LEFT$(N$,L):W=1:GOTO170
  15. 150 IFL=16THEN170
  16. 160 FORX=L+1TO16:N$=N$+CHR$(160):NEXT:L=16
  17. 170 OPEN1,8,15,"I"+D$:GOSUB500
  18. 180 OPEN2,8,2,"#":GOSUB500
  19. 190 PRINT#1,"U1:";2;D;T;S:GOSUB 500
  20. 200 PRINT#1,"B-P:";2;0:GET#2,A$,B$
  21. 210 TR=ASC(A$+Z$):SC=ASC(B$+Z$):H=2
  22. 220 PRINT#1,"B-P:";2;H:GET#2,T$
  23. 230 C=ASC(T$+Z$):IFC>0THEN270
  24. 240 GET#2,A$,B$:F$="":FORX=1TO16
  25. 250 GET#2,T$:F$=F$+T$:NEXT:IFF$=""THEN290
  26. 260 IFL=0ORN$=LEFT$(F$,L)THEN330
  27. 270 H=H+Q:IFH<FTHEN220
  28. 280 IFTR>0THENT=TR:S=SC:GOTO190
  29. 290 IFWTHENPRINT"NO MORE FILES...":GOTO460
  30. 300 PRINT"[159]FILE NOT FOUND IN DIRECTORY"
  31. 310 FORDE=1TO4000:NEXT
  32. 320 CLOSE2:CLOSE1:GOTO80
  33. 330 A=ASC(A$+Z$):B=ASC(B$+Z$)
  34. 340 PRINT"[147][159]SCRATCHED FILE:";F$
  35. 350 PRINT"[159]STARTING ON TRACK";A;"[157], SECTOR";B
  36. 360 PRINT"[159]REVIVE THIS FILE";
  37. 370 INPUTX$:IFX$="Y"THEN400
  38. 380 IFWTHEN270
  39. 390 PRINT:GOTO460
  40. 400 PRINT"1[159]=SEQ  2[159]=PRG  3[159]=USR  4[159]=REL  5[159]=CBM  "
  41. 410 PRINT"ENTER FILE TYPE (1[159]-5[159])";
  42. 420 INPUTP:IFP<1ORP>5THEN380
  43. 430 PRINT#1,"B-P:";2;H:PRINT#2,CHR$(P+128);
  44. 440 PRINT#1,"U2:";2;D;T;S:GOSUB500:G=1
  45. 450 PRINT"FILE IS UNSCRATCHED":IFWTHENPRINT"[145][145]":GOTO270
  46. 460 PRINT"[159]REVIVE MORE FILES (Y[159]/N[159])";
  47. 470 INPUTX$:IFX$="Y"THENCLOSE2:CLOSE1:GOTO10
  48. 480 IFG<>0THENCLOSE2:CLOSE1:GOTO550
  49. 490 CLOSE1:CLOSE2:CLOSE15:PRINT"[147]":END
  50. 500 INPUT#1,E,M$,J,K:IF E=0 THEN RETURN
  51. 510 PRINT "ERROR: ";E;M$;J;K
  52. 520 CLOSE2:CLOSE1:CLOSE15:PRINT"[155]PRESS ANY KEY TO CONTINUE"
  53. 530 GETK$:IFK$=""THEN530
  54. 540 CLR:GOTO10
  55. 550 PRINT"RE-BUILDING VALID BAM"
  56. 570 OPEN 1,8,15,"V"+D$:CLOSE1:CLR:GOTO10
  57. 580 RETURN
  58.